Current network and communications technologies, such as machine-to-machine (M2M) technologies and the Internet, allow devices to communicate more directly with each other using wired and wireless communications systems. M2M technologies in particular enable further realization of the Internet of Things (IoT), a system of uniquely identifiable objects and virtual representations of such objects that communicate with each other and over a network, such as the Internet. IoT may facilitate communication with even mundane everyday objects, such as products in a grocery store or appliances in a home, and thereby reduce costs and waste by improving knowledge of such objects. For example, stores may maintain very precise inventory data by being able to communicate with, or obtain data from, objects that may be in inventory or may have been sold.
Resources within an M2M system may provide various services to entities in the system. These services may include any function that a resource may perform, such as providing content (e.g., surveillance video content, temperature measurements), device status (e.g., power remaining, storage space remaining, current operating mode), configuration information (e.g., policies) or any other information, or any other function that may be performed by an M2M entity. Communications regarding services, such as announcement of available services, requests for service, and responses to requests for service, are performed at the M2M service capabilities layer (SCL). The addressing of entities providing and receiving services is based on a complex tree structure that is not conducive to scaling and not flexible enough for the demands of evolving M2M systems.